package ten;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

public class CollectionToArray {
    public static void main(String[] args) {
        Collection<String> c = new ArrayList<>();
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        System.out.println(c); //[one, two, three, four, five]
//若参数数组元素个数==集合元素个数，那就正常转换
//若参数数组元素个数<集合元素个数，那也正常转换(按照集合大小给数组)
//若参数数组元素个数>集合元素个数，那也正常转换，同时在末尾补默认值
        // String[] str = new String[10];                // 定义不可变长度的数组
        // ArrayList list = new ArrayList<>();           // 定义可变长度的数组,增删改插方便
        String[] array = c.toArray(new String[5]); // 用toArray()方法将集合c变成数组    // arraylist.toArray(T[] arr) 用法，T为数组类型
        //System.out.println("数组的字符串类型："+Arrays.toString(array)); // 用Arrays.toString()方法将整个array数组变成一个字符串类型
        System.out.println("数组的地址："+array); //只能输出array数组的地址
        for (String destination : array) {
            System.out.println("遍历数组的每个数"+destination);
        }
        // 不带参数的toArray()使用
        Object[] obj = c.toArray();
        for (int i = 0; i < obj.length; i++) {
            System.out.print("遍历数组的每个数"+obj[i]+",");
        }

    }
}

